#include "musiclist.h"
#include <QMimeDatabase>
MusicList::MusicList()
{

}

void MusicList::addMusicsByUrl(const QList<QUrl> &musicUrls)
{
    // 将所有的音乐放置到musicList
    for(auto e : musicUrls)
    {
        // 如果musicUrls是一个有效的歌曲文件，再将其添加到歌曲列表中
        // 检测歌曲文件的MIME类型
        QMimeDatabase mimeDB;
        QMimeType mimeType = mimeDB.mimeTypeForFile(e.toLocalFile());
        QString mime = mimeType.name();

        if(mime == "audio/mpeg" || mime == "audio/flac" || mime == "audio/wav")
        {
            // 需要将url创建一个Music对象，添加到musicList中
            Music music(e);
            musicList.push_back(music);
        }
    }
}

iterator MusicList::findMusicByMusicId(const QString &musicId)
{
    for(iterator it = begin(); it != end(); ++it)
    {
        if(it->getMusicId() == musicId)
        {
            return it;
        }
    }
    return end();
}

iterator MusicList::begin()
{
    return musicList.begin();
}

iterator MusicList::end()
{
    return musicList.end();
}
